package com.yidu.ladder.base.service;

import java.util.List;
import java.util.Map;

import com.yidu.ladder.base.domain.Route;
import com.yidu.ladder.base.domain.RouteVo;
import com.yidu.ladder.base.domain.Subset;

/**
 * 线路业务逻辑接口类
 * 
 * @author yy
 * @since 2019-12-2
 *
 */
public interface RouteService {

	/**
	 * 分页查询线路
	 * 
	 * @param routeVo 线路包装
	 * @return 前端页面需要的键值对数据类型
	 */
	public Map<String, Object> queryRouteByCriteriaWithPage(RouteVo routeVo);

	/**
	 * 添加线路
	 * 
	 * @param route 线路
	 * @return 添加成功返回1，否则返回0
	 */
	public int addRoute(Route route);

	/**
	 * 修改线路
	 * 
	 * @param route 线路
	 * @return 修改成功返回1，否则返回0
	 */
	public boolean updateRoute(Route route);

	/**
	 * 冻结或还原线路
	 * 
	 * @param routeId 线路Id
	 * @param flag    得到状态
	 * @return 冻结或修改成功返回1，否则返回0
	 */
	public abstract boolean frozenOrRecoveRoute(String routeId, String useable);

	/**
	 * 给下拉框赋值
	 * 
	 * @return
	 */
	public List<Subset> selectAllRoute();
}
